home *** CD-ROM | disk | FTP | other *** search
/ Freaks Macintosh Archive / Freaks Macintosh Archive.bin / Freaks Macintosh Archives / Hacking & Misc / Mac Satellite.sit / Mac Satellite / Season9 Info / Videocrypt Information < prev   
Text File  |  1995-08-28  |  26KB  |  480 lines

  1. Some technical details about Videocrypt that Markus Kuhn wrote on the 18th
  2. June 1994
  3.  
  4. In this file, I'll collect some of the details known or assumed about the
  5. Videocrypt pay-TV access control system. Consider it as some kind of
  6. frequently asked questions list with answers about the system.
  7.  
  8. 1 Basic principle
  9.  
  10. Videocrypt encodes the TV image by cutting each line of the image in two
  11. pieces at some cut point and then exchanges these two line fragments in the
  12. broadcasted pictures. E.g. if a line like
  13.  
  14. 0123456789
  15.  
  16. passes the encoder, the output might look like
  17.  
  18. 4567890123
  19.  
  20. where the digits represent the pixels of the image. There are 256 possible
  21. cut points and there are no cut points directly near the image border (the
  22. miniumum distance from the margin is about 12-15% of the image width) which
  23. is the reason why you sometimes still can see vertical patterns even on an
  24. encrypted image. The sound is currently not encrypted.
  25.  
  26. Several times per second, a computer at the broadcasting station generates a
  27. 32 byte long message which is broadcasted encoded together with forward
  28. error correction information in the first invisible lines of the TV signal
  29. similar to teletext. About every 2.5 seconds, one of these 32-byte messages
  30. is processed in the encoder by a secret hash algorithm which transforms the
  31. 32-byte message into a 60-bit value. These 60 bits are then used by a second
  32. algorithm in order to determine the 8-bit cut point coordinates for each
  33. line for the next 2.5 seconds. No details about this second algorithm are
  34. known, but think of it just as some kind of 60-bit pseudo random number
  35. generator (PRNG) were the 60-bit output from the secret hash function is
  36. used as a start value (seed).
  37.  
  38. The decoder receives the 32-byte messages and other data together with the
  39. TV signal, applies some error correction algorithms and passes all 32-byte
  40. packets to the smart card in the decoder's card slot. The smart card
  41. implements the same secret hash function and answers with the same 60-bit
  42. value as the one which is used in the encoder. By using this 60-bit answer
  43. from the card, the decoder hardware can generate with the same PRNG the same
  44. cut point sequence as the encoder and can so reconstruct the original image
  45. by again exchanging the two line fragments. The secret hash function is a
  46. cryptographically strong system which is designed so that it is extremely
  47. difficult to guess the algorithm of this function by looking at many pairs
  48. of 32-byte/60-bit values.
  49.  
  50. Apart from being the source for the generation of the 60-bit PRNG seed, the
  51. 32-byte messages from the broadcasting station contain card numbers so that
  52. individual cards can be addressed and they contain commands like activation,
  53. deactivation, or show-a-message for the addressed card. In addition, the
  54. 32-byte packets contain a digital signature (currently 4 bytes) that allows
  55. the card to test whether the 32-byte messages really originate from the
  56. encoder and have not been generated by someone analysing the card. Again,
  57. this digital signature like the hash function has been designed so that it
  58. is difficult to find out how to generate a correct signature by looking at
  59. enough examples. This prevents choosen-text attacks, where someone tries to
  60. probe the secret hash function with very carefully selected 32-byte messages
  61. and this prevents hackers to generate new activation commands for the card.
  62.  
  63. In early 1993, someone managed to get access to the secret hash functions of
  64. several stations which use Videocrypt (e.g., British Sky Broadcasting, Adult
  65. Channel, JSTV, BOB, Red Hot TV). All these systems used the same hash and
  66. signature algorithm and the only difference between the stations was a
  67. 32-byte secret key table. It is not known,how it was possible to get this
  68. information. Either someone from the company who manufactured the cards
  69. (News Datacom) leased this information or it was possible for someone to
  70. read out the EPROM contents of the card rocessor (less likely, but also
  71. theoretically possible). With this knowledge it was then uite easily
  72. possible for the original hackers to produce 'clone cards'. These are simple
  73. PCBs with a cheap microcontroler (e.g. one of Microchip's PIC family), which
  74. implements only the secret hash function and serial I/O procedures in units
  75. EPROM and answers with the correct 60-bit values to 32-byte messages just as
  76. the real cards do. For several channels, clone cards are still available,
  77. but BSkyB distributed new 09 series cards in spring 1994 and switched on
  78. 1994-05-18 to a new secret hash function. Consequently, all clone cards
  79. stopped to work. It is not known whetheronly the secret 32-byte key was
  80. changed, or whether also the hash and/or signature algorithm have been
  81. modified. Even if the algorithm is still the same, it is extremely difficult
  82. to find out the new 32-byte key table.
  83.  
  84. The clone cards didn't implement any interpretation procedures for card
  85. activation or deactivation and pay-per-view functions, so their software is
  86. considerably simpler than the one in the real cards. This resulted in some
  87. tiny differences between the reaction of the clone card software and the
  88. reaction of the original card software on pathological 32-byte messages.
  89. These differences were used in counter measures against clone cards several
  90. times in 1993 and 1994 by BSkyS in order to deactivate clone cards, but it
  91. was quite easy each time to find out these tiny bugs in the clone card
  92. software and correct it.
  93.  
  94. There is an Intel 8052 microcontroler in the decoder which manages the
  95. communication between the smart card and the rest of the system. As the
  96. software of this processor is not read protected, it was also possible to
  97. reprogram this chip (by using the EPROM version 8752BH) so that the hash
  98. algorithm is performed inside the decoder. Then no external card is needed
  99. at all for the channels for which the hash algorithm was implemented in the
  100. 8752.
  101.  
  102. More detailed basic information about Videocrypt has been published in the
  103. European patent EP 0 428 252 A2 ("A system for controlling access to
  104. broadcast transmissions"). You can order a copy for little money from the
  105. European Patent Office if you are interested.
  106.  
  107. 2 Security of the Videocrypt system
  108.  
  109. The system is very secure, because all secret parts that are essential to a
  110. successful decryption are located in the smart card and if the card's secret
  111. hash algorithm/key becomes known, it can easily be replaced by just sending
  112. new cards to the subscribers. This card exchange can also be used if details
  113. about the format of the commands hidden in the 32-byte sequences sent to the
  114. card become known.
  115.  
  116. There are however at least two obvious security flaws of the system which
  117. can't be removed by new smart card generations:
  118.  
  119.   - The dialog between the card and the decoder is the same synchronously
  120.     for all Videocrypt decoders switched to this channel. I.e., the decoder
  121.     doesn't add any card specific or decoder specific information to the
  122.     traffic. This makes it possible to use one card for several decoders.
  123.     E.g. it is possible to record the 32-byte messages broadcasted by
  124.     the station during an evening with a PC, then send these messages to
  125.     someone else with an original card who asks his card for the 60-bit
  126.     answers to all the recorded messages. If this person then sends
  127.     these 60-bit answers back, then you can use this data in order
  128.     to descramble the VCR recorded program of this evening (delayed data
  129.     transfer). However, decoding VHS recorded encrypted signals produces
  130.     minor color distortions and a few VCRs don't preserve the Videocrypt
  131.     data stream in the first invisible lines that accompanies the TV
  132.     signal. It is also possible to distribute the 60-bit answers from
  133.     one card in real-time with cables to many decoders in a house or
  134.     with radio signals to many decoders in a larger region.
  135.  
  136.   - The simple cut-and-exchange encryption method and the fact that two
  137.     consecutive lines in an image are almost always nearly identical
  138.     makes it possible to try all 256 possible cut points and to select
  139.     the one which causes both lines to fit together best. This method
  140.     has alreday been implemented on fast PC's with framegrabbers which
  141.     load the image into the memory and display it corrected on the computer
  142.     screen (many seconds per frame), on parallel supercomputers which
  143.     allow almost real-time decryption and with special hardware that
  144.     achieves real-time decryption. Howevery, with this decoding method,
  145.     there are severe image quality losses and many additional problems
  146.     which together with the high hardware costs required (much higher
  147.     than a regular subscription) don't make this approach very practical
  148.     for every day usage.
  149.  
  150. Both these security gaps in the videocrypt systems don't allow comfortable
  151. and easy high quality decryption like using a card, but the described
  152. methods have already been successfully used by a few technically skilled
  153. peoples for watching encrypted program.
  154.  
  155. 3 ISO card protocol
  156.  
  157. The card and the protocol used to cummunicate with it conform exactly to the
  158. international standard ISO 7816. The options used from this standard are:
  159. T=0 asynchronous halfduplex character transmission protocol, active low
  160. reset and inverse convention. Only a few basic principles of the ISO
  161. protocol will be explained here. For much more detailed information, please
  162. read the ISO standard which you can order from your national standards body
  163. (e.g. DIN, ANSI, AFNOR, BSI, DS, etc.). There are three parts of the
  164. standard: ISO 7816-1 describes physical characteristics of the card and
  165. quality tests a card has to survive, ISO 7816-2 describes the location and
  166. meaning of the contacts and ISO 7816-3 (most important) describes the
  167. electrical characteristics, the answer-to-reset message and the protocol.
  168.  
  169. The data format is an asynchronous 9600 bit/s serial format similar to that
  170. used on RS-232 lines with 8 data bits, 1 parity bit and two stop bits. The
  171. parity is even (but if inverse bit meaning convention is used, a RS-232
  172. interface has to be programmed for odd parity in order to produce the
  173. correct bit). There is also an error detection and character repetition
  174. mechanism in the protocol which is not supported by RS-232 interfaces: If
  175. the receiving device (card or decoder) detects a parity error, it sends an
  176. impulse during the stop bit time. This will tell the sender to retransmit
  177. one byte.
  178.  
  179. After a reset impulse to the card, the card answers with an answer-to-reset
  180. message with some information about the requirements of the card. If the
  181. first byte is 3fh, then this means that in order to read the bytes with a
  182. RS-232 interface, you'll have to invert and reverse all bits. A typical
  183. answer-to-reset looks e.g. like the following one:
  184.  
  185.      3f fa 11 25 05 00 01 b0 02 00 00 4d 59 00 81 80
  186.          |  |  |  |  | | 'historic characters' with|
  187.          |  |  |  |  | | information about chip and|
  188.          |  |  |  |  | | software version, etc.    |
  189.          |  |  |  |  |
  190.          |  |  |  |  +- low nibble: protocol type T=0,
  191.          |  |  |  |     high nibble: end of ISO part
  192.          |  |  |  |
  193.          |  |  |  +- requests 5 additional stop bits
  194.          |  |  |
  195.          |  |  +- encodes programming voltage and max. programming
  196.          |  |     current (here: 5V, 50mA)
  197.          |  |
  198.          |  +- clock freq.: 11h=3.5 MHz, 31h=7 MHz
  199.          |
  200.          +- the 0ah low nibble means: 10 'historic characters' which
  201.             are not defined in the ISO standard are appended to
  202.             the reset answer
  203.  
  204. The answer-to-reset message has a variable length format. Some bits specify
  205. whether certain bytes are present or not. If the lowest bit in the high
  206. nibble of the second byte is 1, then the above shown third byte is present
  207. and determines the relation between the bit rate and the clock frequency
  208. after the reset answer. E.g., 11h means that 372 clock cycles are one bit
  209. duration (default), i.e. with a clock frequency of 3.5712 Mhz, the bit
  210. frequency is 9600 Hz. In the Videocrypt system, the bit rate is always 9600
  211. bits/s, but a value of 31h (= factor 744) in the third byte requests a
  212. doubled clock frequency (~7MHz) from the decoder. Other values are not
  213. supported by the Videocrypt decoder.
  214.  
  215. The Videocrypt decoder supports several programming voltages (5 V, 12.5 V,
  216. 15 V and 21 V, max. 50 mA current) and different numbers of stop bits (>= 5)
  217. sent to the card. All these parameters can be selected in the
  218. answer-to-reset. Of the 'historic characters' part, the decoder only
  219. verifies that it is at least 7 characters long and that the values 4dh und
  220. 59h are at the positions as in the example, otherwise the card is rejected.
  221. No more details about the information in the historic characters part of a
  222. Videocrypt card is currently known. For the detailed format of the
  223. answer-to-reset message, please consult ISO 7816-3.
  224.  
  225. The T=0 protocol is a half duplex master slave protocol. The decoder can
  226. send commands to the card followed by a data transmission either to or from
  227. the card. The card can do some limited flow control and can request or
  228. deactivate the programming voltage VPP selected in the answer-to-reset using
  229. "procedure bytes". If the decoder initiates a command, it sends five header
  230. bytes to the card, e.g.
  231.  
  232.      53 78 00 00 08
  233.  
  234. The first byte (CLA) is the command class code and is always 53h in the
  235. Videocrypt system. The second byte (INS) is the instruction code. Its lowest
  236. bit is always 0 and instruction codes have never a 6 or 9 high nibble
  237. (you'll see below, why). The following 2 bytes (P1 and P2) are a reference
  238. (e.g. an address) completing the instruction code and a Videocrypt decoder
  239. sets them always to 00 00. The final byte (P3) codes the number of data
  240. bytes which are to be transmitted during the command. P3=0 has a special
  241. meaning: In data transfers from the card, it indicates 256 data bytes, in
  242. data transfers from the decoder, it indicates 0 bytes. The direction of the
  243. data transfer is determined by CLA and INS and must be known in advance by
  244. both the card and the decoder.
  245.  
  246. After transmission of such a 5-byte header, the decoder waits for a
  247. 'procedure byte' from the card.
  248.  
  249. The following procedure bytes are possible:
  250.  
  251.   60h             Please wait, I'll send another procedure byte soon,
  252.                   don't timeout.
  253.  
  254.   INS             Now let's transfer all (remaining) data bytes, I don't
  255.                   need programming voltage.
  256.  
  257.   INS+1           Now let's transfer all (remaining) data bytes and please
  258.                   activate VPP.
  259.  
  260.   INS xor ffh     Now let's transfer another single data byte,
  261.                   I don't need programming voltage.
  262.  
  263.   (INS+1) xor ffh Now let's transfer another single data byte, and please
  264.                   activate VPP.
  265.  
  266.   6Xh or 9Xh      This byte SW1 indicates an end of the data transfer
  267.                   and requests to deactivate VPP. A second status byte SW2
  268.                   follows from the card. SW1 SW2 = 90 00 indicates a
  269.                   normal termination, other values report e.g. an error.
  270.  
  271. After each data transfer, the decoder waits for another procedure byte.
  272. E.g., a typical decoder<->card dialog looks like this (command 78h requests
  273. the 60-bit answer as 8 bytes from the card):
  274.  
  275.      decoder sends header
  276.        53 78 00 00 08
  277.      card sends procedure byte (all at once, no VPP)
  278.        78
  279.      card sends P3 data bytes
  280.        80 52 02 79 f5 39 7c 0e
  281.      card closes with SW1 and SW2
  282.        90 00
  283.  
  284. 4 Videocrypt protocol
  285.  
  286. The newer Videocrypt smart cards don't require any programming voltage.
  287. Although, the ISO standard requires only 2 stop bits after each transferred
  288. byte, Videocrypt decoders seem to require more than 5 stop bits. As PC
  289. serial ports don't support more than 2 stop bits directly, a card emulator
  290. software has to wait for about 0.5-1.5 ms after each byte. Cards can
  291. announce in the answer-to-reset message, how many stop bits they require.
  292.  
  293. A videocrypt decoder knows the following 10 commands (all with CLA=53h and
  294. P1=P2=00h):
  295.  
  296.      INS     length (P3)      direction        purpose
  297.     ---------------------------------------------------------------------
  298.      70h         6            from card        serial number, etc.
  299.      72h        16            to card          message from previous card
  300.      74h        32            to card          message from station
  301.      76h         1            to card          authorize button pressed
  302.      78h         8            from card        60-bit answer
  303.      7ah        25            from card        onscreen message
  304.      7ch        16            from card        message to next card
  305.      7eh        64            from card        ???
  306.      80h         1            to card          ???
  307.      82h        64            from card        ???
  308.  
  309. The following things are known about the data bytes of these commands:
  310.  
  311. 70h:
  312.  
  313. In BSkyB cards, the 70h data contains the card issue number (e.g. 07 or 09)
  314. in the low nibble of the first byte. The high nibble of the first byte seems
  315. to be always 2. The next 4 bytes form an 32-bit bigendian integer value
  316. which corresponds to the decimal card number without the final digit of the
  317. card number (which is perhaps a check digit, algorithm unknown). The meaning
  318. of the final byte is unknown.
  319.  
  320. 72h and 7ch:
  321.  
  322. Several times per second, the decoder requests with 7ch 16 bytes from the
  323. card. If a card is removed and a new card is inserted in the decoder without
  324. switching off the power of the decoder, then shortly after the card reset,
  325. the decoder sends the latest 7ch data bytes from the previous card in a 72h
  326. message to the new card. In this way, 16 bytes information (e.g. the status
  327. of a pay-per-view account or a list of activated channels?) can be
  328. transfered from one card to the next.
  329.  
  330. 74h and 78h:
  331.  
  332. The 74h command transfers the 32-byte messages from the broadcasting station
  333. to the card. If the third bit (value 8) in the first byte is set, then the
  334. decoder will ask with a 78h command for the 60-bit answer. This happens
  335. about every 5th 74h packet every 2.5 seconds. The high nibble of the final
  336. byte in the 78h data is ignored by the decoder (only 60 bits are needed).
  337. The high nibble of the first 74h byte seems to have the value eh or fh in
  338. normal encrypted operation and ch or dh in the 'soft scrambled' mode where
  339. the decoder can descramble the image even without any card.
  340.  
  341. The following information is valid for the 07 BSkyB card and need not
  342. necessarily be true for future smart cards, because these data bytes don't
  343. seem to be interpreted in the decoder and so their meaning can be exchanged.
  344. A typical BSkyB 74h packet for the 09 series card looks like this:
  345.  
  346.   e843 0a888261 0c 29e403f6 20202020202020202020202020202020 fb54ac02 51
  347.  
  348. The second byte selects one of several 32-byte secret key tables that are
  349. used by the hash function. When the switchover from the 07 cards to the 09
  350. cards happened, this value increased from 40h to 43h. In the 07 card, this
  351. value was only interpreted to find an offset into a table with various
  352. 32-byte secret keys. The lower 7 bits of the seventh byte contain a channel
  353. ID. The final byte 32 is a simple checksum that makes the sum of all 32
  354. bytes a multiple of 256. The 4 bytes 28-31 contain the digital signature
  355. that is simply an intermediate result of the iterations of the hash
  356. algorithm. If the checksum, the digital signature, or some of the values in
  357. the first 7 bytes of a 74h command aren't correct, then the 78h answer will
  358. only contain 8 00 bytes or in some cases 01 00 00 00 00 00 00 00. The 07
  359. card had an interesting security hole: The card sends to the decoder as many
  360. data bytes as specified in P3. By sending a higher length value in the
  361. command header to the card, one can get up to 256 data bytes back which seem
  362. to be values from the card's RAM that allow some insight into the internal
  363. data structures of the card software.
  364.  
  365. The following theory has been proposed about the encoding of the card
  366. addresses, but this hasn't been verified yet and might be partially or
  367. completely wrong: A card number is perhaps represented by a 5 byte card
  368. address consisting of a 4 byte prefix and a 1 byte suffix. Up to 16 cards
  369. with the same card address prefix can be addressed with one 32-byte message.
  370. The bytes 8-11 might contain the common prefix to the addressed cards and
  371. the bytes 12-27 the various suffixes. If there are less than 16 different
  372. cards to be addressed, then the same suffix byte is repeated several times
  373. in order to fill the space. There's no good theory about the meaning of the
  374. 4 bytes 3-6. E.g. the command which is sent to the card could be encoded
  375. there, but no details are known and as these bytes seem to have pretty
  376. random values, it is possible that some of these are random bytes or time
  377. stamps and that the other bytes are encrypted with e.g. intermediate values
  378. of the hash function (like the signature).
  379.  
  380. 76h:
  381.  
  382. If the authorize button on the decoder is pressed for a few seconds, then
  383. the decoder will send a single 76h message with a 00 data byte to the card.
  384.  
  385. 7ah:
  386.  
  387. This command requests from the card an ASCII text which is then displayed on
  388. the TV screen. The display field is 12 characters wide, one or two lines
  389. high and no lowercase letters are supported. The lower 5 bits in the first
  390. byte indicate, how long the text is which is to be displayed: 0 for no
  391. display, 12 for a single line and 24 for 2 lines. The highest 3 bits of the
  392. first byte seem to be some kind of display priority. The number there (0-3)
  393. must be high enough if standard decoder messages have to be suppressed. The
  394. remaining 24 bytes contain the ASCII test.
  395.  
  396. The meaning of the other commands is unknown, some of them are never used
  397. currently. Some cards understand also additional instruction codes which
  398. can't be issued by a normal decoder. E.g. a BSkyB 09 card understands also
  399. 12h, 86h, 88h, 8ah and 8ch. These commands are perhaps used in order to test
  400. or configurate the card at the factory, etc.
  401.  
  402. Please contact me if you find out anything new. My e-mail address is
  403. mskuhn@cip.informatik.uni-erlangen.de
  404.  
  405. 5 VCL File Format
  406.  
  407. The Videocrypt Card Logfile format (VCL) is used by some peoples for
  408. performing the delayed data transfer procedure described in section 2.
  409. Person A with a valid card can record the dialog between the decoder and the
  410. card for a certain program P and transmit this information as a VCL file to
  411. person B who has no card and has recorded with a VCR only the encrypted
  412. signal of program P. Person B now connects the Videocrypt decoder between
  413. the VCR and the TV set and connects the card slot of the decoder to a PC.
  414. Using the information in the VCL file, B's computer can now also decrypt
  415. program P. This is of course only possible for the few hours which are
  416. covered by the information in the VCL file.
  417.  
  418. Not all of the information exchanged between the card and the decoder is
  419. necessary for descrambling the TV signal. The VCL format uses this fact in
  420. order to save a lot of storage space. Only 12 bytes of high entropy (that
  421. means: almost uncompressable) are stored every 2.5 seconds. So a VCL file of
  422. a 1 hour program is only about 17 kbytes large. In addition, VCL files don't
  423. contain any information about the card owner (especially not the card serial
  424. number), which appears in normal full log files. (The only potential
  425. security hole is the remaining nibble in the 78h data, consequently it
  426. should be cleared in order to avoid card specific information to leak into
  427. the VCL file.)
  428.  
  429. VCL files have a very simple binary format consisting of a 128 byte header
  430. and arbitrarily many 12 byte records. At the end, VCL files may be padded
  431. with zero bytes to a multiple of the operating system's disk sector size, so
  432. that no RAM contents can leak in there out of an unsecure system like
  433. MS-DOS. Don't forget to use a binary mode if you transfer VCL files or their
  434. contents will be rendered unusable.
  435.  
  436. The 128 byte header has the following format:
  437.  
  438.       byte number       purpose
  439.  
  440.         0 -  3          ASCII String 'VCL1' which identifies the file
  441.                         type and version of the format.
  442.         4 -  7          The number of 12-byte records stored in this
  443.                         file encoded as a bigendian (most significant
  444.                         byte first) 32-bit unsigned integer value.
  445.         8 - 23          Date and time when the recording started.
  446.                         Format: yyyymmddThhmmssZ, where yyyymmdd are
  447.                         year, month and day (e.g. '19940618'), hhmmss
  448.                         are hour, minute and second (e.g. '235959'),
  449.                         T ist just the ASCII letter T, and Z is
  450.                         the ASCII letter Z if the time is UTC or
  451.                         a zero byte, if the time is local time. The
  452.                         digits are ASCII characters.
  453.        24 - 55          Name of the satellite or cable system from
  454.                         which the recording was done. This is a zero
  455.                         terminated ASCII string with only characters
  456.                         between 20h and 7eh. As many zero bytes are
  457.                         appended as necessary for filling up the 32
  458.                         bytes. The same format is also used for the next
  459.                         two text fields. Example: 'Astra'.
  460.        56 - 63          Name/number of the transponder from which
  461.                         the recording was done. Example: '08' for
  462.                         Sky One on Astra.
  463.        64 -127          Description of what has been recorded.
  464.                         Example: 'Star Trek: TNG, episode 123'
  465.  
  466. After the first 128 bytes follow as many 12 byte records as announced in
  467. bytes 4-7. Each record represents a 74h/78h Videocrypt protocol pair and
  468. constists of two fields: The first 4 bytes are the final 4 bytes of the 74h
  469. data part, the remaining 8 bytes are the data part of the corresponding 78h
  470. command. Four bytes of each 74h packet are enough to allow a card emulator
  471. to quickly and reliably synchronize with the queries of the decoder. The
  472. final four bytes of the 74h commands have been selected because of their
  473. high entropy (signature and checksum).
  474.  
  475. ----------------------------------------------------------------------------
  476. Return to the Home Page of tron
  477. ----------------------------------------------------------------------------
  478.  
  479. [last modification 1995-07-04]
  480.